我們繼續看 C 和 Python 在這「迴圈」控制結構的差異。
迴圈(Loop)
迴圈指的是重複循環執行一些相同的運算
在 C 和 Python 中,for
迴圈和 while
迴圈都是循環控制結構,可以用來重複執行一段程式碼。
用以下 C 程式來舉例說明:
int i = 1;
while (i < 6) {
printf("%d ", i); // 輸出 1 2 3 4 5
i++;
}
printf("\n");
for (int i = 1; i <= 5; i++) {
printf("%d ", i); // 輸出 1 2 3 4 5
}
這是 C 的 do … while
語法,Python 沒有支援:
int i = 1;
do { // 不論任何條件,至少都會執行一次循環
printf("%d ", i); // 輸出 1 2 3 4 5
i++;
} while (i < 6);
printf("\n");
Python while
循環的語法和 C語言相似。
Python for
循環的語法和 C語言略有不同,且支援可迭代 (iterable)物件,功能較強大。
用以下 Python 程式來舉例說明:
i = 1
while i < 6:
print(i, end=' ') # 輸出 1 2 3 4 5
i += 1
for i in range(1, 6): # 說明: range(1, 6) 指 1, 2, 3, 4, 5
print(i, end=' ') # 輸出 1 2 3 4 5
Python for
循環的程式碼在每次迭代中,變數會被設為 序列(sequence)中的下一個值,並執行程式碼的 for 區塊。
這是另一個範例:
fruits = ['apple', 'banana', 'orange']
for fruit in fruits: # 語法: for variable in sequence:
print(fruit)
break 和 continue 語句
C 語言和 Python都有break
和continue
語句來控制迴圈的執行流程。
break
:直接中斷迴圈,強制跳出 ❮整個❯ 迴圈
continue
:強制跳出 ❮本次❯ 迴圈,繼續進入下一迴圈。
使用這兩個語句,可以將迴圈 和 if 條件判斷式 整合, 更靈活地控制程式的執行流程。
這裡以 Python 程式來舉例說明:
for i in range(5): # 說明: range(5) 指 0, 1, 2, 3, 4
if i == 2:
break
print(i, end=' ') # 輸出: 0, 1
print()
for i in range(5):
if i == 2:
continue
print(i, end=' ') # 輸出: 0, 1, 3, 4
補充說明:
break
也用在 switch…case 語句。return
語句中斷迴圈,並結束這一函式。例外處理 (Exception Handling)
除了使用「條件判斷」與「迴圈」是來控制正常執行流程外,當程式執行過程中發生錯誤或異常情況時,Python 提供了一種稱為「例外處理」(Exception Handling) 的機制,讓我們可以簡潔地處理這些特別情況。
這裡舉個簡單 Python 例子來說明:
try:
x = int(input("請輸入一個整數: "))
result = 100 / x
print(f"結果為: {result}")
except ValueError: # 例如: 當輸入 ten
print("輸入的不是數字")
except ZeroDivisionError: # 例如: 當輸入 0
print("除以零的錯誤")